package com.neelsys.domain.visualization;

import static org.neo4j.graphdb.Direction.INCOMING;

import java.util.HashSet;
import java.util.Set;

import org.springframework.data.neo4j.annotation.GraphId;
import org.springframework.data.neo4j.annotation.Indexed;
import org.springframework.data.neo4j.annotation.NodeEntity;
import org.springframework.data.neo4j.annotation.RelatedTo;

@NodeEntity
public class EntranceTest {
	
	@GraphId Long nodeId;
    @Indexed(unique=true)
    String id;
    
    String maximumRetries;
    
    @RelatedTo(type = "PRE_REQ_FOR",direction = INCOMING)
    private Set<MajorCombination> fromMajors=new HashSet<MajorCombination>();
    
    @RelatedTo(elementClass = CourseDesignator.class,type = "ELIGIBLE_FOR")
    private Set<CourseDesignator> nextCourses=new HashSet<CourseDesignator>();
    
    @Indexed
    EntranceTestEnum entranceTestDetails;

	public Long getNodeId() {
		return nodeId;
	}

	public void setNodeId(Long nodeId) {
		this.nodeId = nodeId;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getMaximumRtries() {
		return maximumRetries;
	}

	public void setMaximumRtries(String maximumRtries) {
		this.maximumRetries = maximumRtries;
	}

	public Set<MajorCombination> getFromMajors() {
		return fromMajors;
	}

	public void setFromMajors(Set<MajorCombination> fromMajors) {
		this.fromMajors = fromMajors;
	}

	public Set<CourseDesignator> getNextCourses() {
		return nextCourses;
	}

	public void setNextCourses(Set<CourseDesignator> nextCourses) {
		this.nextCourses = nextCourses;
	}

	public String getMaximumRetries() {
		return maximumRetries;
	}

	public void setMaximumRetries(String maximumRetries) {
		this.maximumRetries = maximumRetries;
	}

	public EntranceTestEnum getEntranceTestDetails() {
		return entranceTestDetails;
	}

	public void setEntranceTestDetails(EntranceTestEnum entranceTestDetails) {
		this.entranceTestDetails = entranceTestDetails;
	}
    
    


}
